home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 - Homepage / CHIP.BIN / share / webmaste / csehtmlp / csehtmlp.exe / {app} / ParserRules / perl.xs < prev    next >
Encoding:
Text File  |  2002-04-22  |  3.4 KB  |  101 lines

  1. //Language: Perl
  2. //Copyright (c) 1992-2002 Altium Limited             
  3. //All rights reserved.                               
  4. //http://www.dream-com.com                           
  5. //contact@dream-com.com                              
  6.  
  7. // states
  8. State=snormal
  9. State=sstring1
  10. State=sstring2
  11. State=sstring3
  12. State=scomment
  13. State=sasm
  14. // tokens
  15. Token=tnone
  16. Token=tstring
  17. Token=tcomment
  18. Token=tident
  19. Token=tinteger
  20. Token=tfloat
  21. Token=tresword
  22. Token=tassembler
  23. Token=turl
  24. Token=twhitespace
  25. //delims
  26. Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/
  27.  
  28. // reswords
  29. snormal 'and'      snormal tresword
  30. snormal 'cmp'      snormal tresword
  31. snormal 'continue' snormal tresword
  32. snormal 'do'       snormal tresword
  33. snormal 'else'     snormal tresword
  34. snormal 'elsif'    snormal tresword
  35. snormal 'eq'       snormal tresword
  36. snormal 'for'      snormal tresword
  37. snormal 'foreach'  snormal tresword
  38. snormal 'ge'       snormal tresword
  39. snormal 'goto'     snormal tresword
  40. snormal 'gt'       snormal tresword
  41. snormal 'if'       snormal tresword
  42. snormal 'last'     snormal tresword
  43. snormal 'le'       snormal tresword
  44. snormal 'lt'       snormal tresword
  45. snormal 'my'       snormal tresword
  46. snormal 'ne'       snormal tresword
  47. snormal 'next'     snormal tresword
  48. snormal 'not'      snormal tresword
  49. snormal 'or'       snormal tresword
  50. snormal 'package'  snormal tresword
  51. snormal 'return'   snormal tresword
  52. snormal 'sub'      snormal tresword
  53. snormal 'switch'   snormal tresword
  54. snormal 'unless'   snormal tresword
  55. snormal 'until'    snormal tresword
  56. snormal 'use'      snormal tresword
  57. snormal 'while'    snormal tresword
  58. snormal 'xor'      snormal tresword
  59.  
  60. // numbers
  61. snormal [0-9][0-9]*                            snormal  tinteger
  62. snormal [1-9][0-9]*\.[0-9]*                    snormal  tfloat
  63. snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal  tfloat
  64.  
  65. //idents
  66. snormal   [a-z_A-Z][a-z_A-Z0-9]*  snormal   tident
  67. snormal   \$[a-z_A-Z0-9]*  snormal   tident
  68. snormal   \$\#[a-z_A-Z0-9]*  snormal   tident
  69. //white space
  70. snormal #32*                      snormal   twhitespace
  71.  
  72. //strings
  73. snormal    \"                     sstring1   tstring
  74. sstring1   [^\"]*                 sstring1   tstring
  75. sstring1   \"                     snormal    tstring
  76. sstring1   \"\"                   sstring1   tstring
  77. sstring1   \\                     sstring1   tstring
  78. sstring1   \\\"                   sstring1   tstring
  79. sstring1   $                      snormal    tstring
  80. //
  81. snormal    \'                     sstring2   tstring
  82. sstring2   [^\']*                 sstring2   tstring
  83. sstring2   \'                     snormal    tstring
  84. sstring2   \'\'                   sstring2   tstring
  85. sstring2   \\                     sstring2   tstring
  86. sstring2   \\\'                   sstring2   tstring
  87. sstring2   $                      snormal    tstring
  88. //
  89. snormal    \`                     sstring3   tstring
  90. sstring3   [^\`]*                 sstring3   tstring
  91. sstring3   \`                     snormal    tstring
  92. sstring3   \`\`                   sstring3   tstring
  93. sstring3   \\                     sstring3   tstring
  94. sstring3   \\\`                   sstring3   tstring
  95. sstring3   $                      snormal    tstring
  96.  
  97. //comments
  98. snormal   \#                       scomment tcomment
  99. scomment [#1-#255]*                snormal  tcomment
  100. scomment $                         snormal  tcomment
  101.